package com.youlu.campus.service.ca;

import com.youlu.campus.base.order.vo.OrderRequest;
import com.youlu.campus.entity.UserPO;
import com.youlu.campus.entity.UserParticipateActivityInfo;
import com.youlu.campus.entity.VO.req.ReceiveCaVO;

import javax.servlet.http.HttpServletResponse;
import java.util.concurrent.CompletableFuture;

public interface CaRecieveService {

    boolean generateRecieveInfos(String activityId, String appId, Integer bizType, Boolean limit, String ip, String userId, String userLoginName);

    boolean generateOneUserCaRecieve(String activityId, String appId, Integer bizType, String mobile);

    boolean exportRecieveInfos(String activityId, String taskId, HttpServletResponse response);

    /**
     * 订单导出
     *
     * @param req
     * @param response
     * @return
     */
    boolean export(OrderRequest req, HttpServletResponse response);


    CompletableFuture<String> generateOne(UserParticipateActivityInfo up, String appId, String activityId);


    /**
     * 证书领取
     *
     * @param activityId
     * @param userPO
     * @return
     */
    ReceiveCaVO receiveCa(String activityId, String appId, UserPO userPO, Integer rewardType);

}
